package com.jinmdz.fmis.api.rec.model.Response;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.jinmdz.fmis.dao.base.BaseItem;
import com.jinmdz.fmis.dao.model.dispatch.DispatchCarItem;
import com.jinmdz.fmis.dao.model.user.SystemUserItem;

import java.math.BigDecimal;
import java.util.ArrayList;

/**
 * @author zhanglr
 * @date 2020/6/11 17:21
 */
public class RecInfoResData extends BaseItem {
    /**
     * 主键
     */
    private Integer id;
    /**
     * 接运二维码
     */
    private String recCode;
    /**
     * 联系人
     */
    private String contact;
    /**
     * 联系人电话
     */
    private String contactPhone;
    /**
     * 联系人类型
     */
    private Integer contactType;
    /**
     * 逝者姓名
     */
    private String deadName;
    /**
     * 死亡原因
     */
    private String deathCause;
    /**
     * 联系人与逝者关系
     */
    private Integer relationCode;

    /**
     * 联系人与逝者关系名称
     */
    private String relation;

    /**
     * 预约车型编码,字典编码[rec_info_type]
     */
    private Integer carTypeCode;
    /**
     * 预约车型,字典编码[rec_info_type]：普通车、高档灵车
     */
    private String carType;

    /**
     * 车辆用途编码，字典编码[rec_info_use]
     */
    private Integer purposeCode;
    /**
     * 车辆用途，字典编码[rec_car_use],接运遗体、送灰等
     */
    private String purpose;

    /**
     * 预约到达时间，指车辆预约到达现场时间，格式:yyyy-MM-dd HH:mm
     */
    @JsonFormat(pattern = yyyy_MM_dd_HH_mm)
    private String arrivalTime;

    /**
     * 接运费
     */
    private BigDecimal recCharge;

    /**
     * 遗体到馆存放编码
     */
    private Integer bodyDepositCode;
    /**
     * 遗体到馆存放
     */
    private String bodyDeposit;

    /**
     * 接运地址
     */
    private String address;

    /**
     * 来源编码
     */
    private Integer sourceCode;

    /**
     * 来源
     */
    private String source;

    /**
     * 接运状态编码，字典编码[rec_task_state]
     */
    private Integer taskStateCode;

    /**
     * 接运状态
     */
    private String taskState;

    /**
     * 收费说明
     */
    private String chargeRemark;

    /**
     * 备注
     */
    private String remark;

    /**
     * 数据版本号，新增时传0
     */
    private Long version;

    /**
     * 接运司机集合
     */
    private ArrayList<SystemUserItem> recDriverUser;

    /**
     * 抬尸工集合
     */
    private ArrayList<SystemUserItem> recPorter;
    /**
     * 车辆调度信息
     */
    private DispatchCarItem dispatchCar;

    @Override
    public Integer getId() {
        return id;
    }

    @Override
    public RecInfoResData setId(Integer id) {
        this.id = id;
        return this;
    }

    public String getRecCode() {
        return recCode;
    }

    public RecInfoResData setRecCode(String recCode) {
        this.recCode = recCode;
        return this;
    }

    public String getContact() {
        return contact;
    }

    public RecInfoResData setContact(String contact) {
        this.contact = contact;
        return this;
    }

    public String getContactPhone() {
        return contactPhone;
    }

    public RecInfoResData setContactPhone(String contactPhone) {
        this.contactPhone = contactPhone;
        return this;
    }

    public Integer getContactType() {
        return contactType;
    }

    public RecInfoResData setContactType(Integer contactType) {
        this.contactType = contactType;
        return this;
    }

    public String getDeadName() {
        return deadName;
    }

    public RecInfoResData setDeadName(String deadName) {
        this.deadName = deadName;
        return this;
    }

    public String getDeathCause() {
        return deathCause;
    }

    public RecInfoResData setDeathCause(String deathCause) {
        this.deathCause = deathCause;
        return this;
    }

    public Integer getRelationCode() {
        return relationCode;
    }

    public RecInfoResData setRelationCode(Integer relationCode) {
        this.relationCode = relationCode;
        return this;
    }

    public String getRelation() {
        return relation;
    }

    public RecInfoResData setRelation(String relation) {
        this.relation = relation;
        return this;
    }

    public Integer getCarTypeCode() {
        return carTypeCode;
    }

    public RecInfoResData setCarTypeCode(Integer carTypeCode) {
        this.carTypeCode = carTypeCode;
        return this;
    }

    public String getCarType() {
        return carType;
    }

    public RecInfoResData setCarType(String carType) {
        this.carType = carType;
        return this;
    }

    public Integer getPurposeCode() {
        return purposeCode;
    }

    public RecInfoResData setPurposeCode(Integer purposeCode) {
        this.purposeCode = purposeCode;
        return this;
    }

    public String getPurpose() {
        return purpose;
    }

    public RecInfoResData setPurpose(String purpose) {
        this.purpose = purpose;
        return this;
    }

    public String getArrivalTime() {
        return arrivalTime;
    }

    public RecInfoResData setArrivalTime(String arrivalTime) {
        this.arrivalTime = arrivalTime;
        return this;
    }

    public BigDecimal getRecCharge() {
        return recCharge;
    }

    public RecInfoResData setRecCharge(BigDecimal recCharge) {
        this.recCharge = recCharge;
        return this;
    }

    public Integer getBodyDepositCode() {
        return bodyDepositCode;
    }

    public RecInfoResData setBodyDepositCode(Integer bodyDepositCode) {
        this.bodyDepositCode = bodyDepositCode;
        return this;
    }

    public String getBodyDeposit() {
        return bodyDeposit;
    }

    public RecInfoResData setBodyDeposit(String bodyDeposit) {
        this.bodyDeposit = bodyDeposit;
        return this;
    }

    public String getAddress() {
        return address;
    }

    public RecInfoResData setAddress(String address) {
        this.address = address;
        return this;
    }

    public Integer getSourceCode() {
        return sourceCode;
    }

    public RecInfoResData setSourceCode(Integer sourceCode) {
        this.sourceCode = sourceCode;
        return this;
    }

    public String getSource() {
        return source;
    }

    public RecInfoResData setSource(String source) {
        this.source = source;
        return this;
    }

    public Integer getTaskStateCode() {
        return taskStateCode;
    }

    public RecInfoResData setTaskStateCode(Integer taskStateCode) {
        this.taskStateCode = taskStateCode;
        return this;
    }

    public String getTaskState() {
        return taskState;
    }

    public RecInfoResData setTaskState(String taskState) {
        this.taskState = taskState;
        return this;
    }

    public String getChargeRemark() {
        return chargeRemark;
    }

    public RecInfoResData setChargeRemark(String chargeRemark) {
        this.chargeRemark = chargeRemark;
        return this;
    }

    public String getRemark() {
        return remark;
    }

    public RecInfoResData setRemark(String remark) {
        this.remark = remark;
        return this;
    }

    @Override
    public Long getVersion() {
        return version;
    }

    @Override
    public RecInfoResData setVersion(Long version) {
        this.version = version;
        return this;
    }

    public ArrayList<SystemUserItem> getRecDriverUser() {
        return recDriverUser;
    }

    public RecInfoResData setRecDriverUser(ArrayList<SystemUserItem> recDriverUser) {
        this.recDriverUser = recDriverUser;
        return this;
    }

    public ArrayList<SystemUserItem> getRecPorter() {
        return recPorter;
    }

    public RecInfoResData setRecPorter(ArrayList<SystemUserItem> recPorter) {
        this.recPorter = recPorter;
        return this;
    }

    public DispatchCarItem getDispatchCar() {
        return dispatchCar;
    }

    public RecInfoResData setDispatchCar(DispatchCarItem dispatchCar) {
        this.dispatchCar = dispatchCar;
        return this;
    }
}
